class ProjetosController < ApplicationController
  layout 'groupware'
  # GET /projetos
  # GET /projetos.xml88
  def index
    @projetos = Projeto.find(:all)

    respond_to do |format|
      format.html # index.html.erb
      format.xml  { render :xml => @projetos }
    end
  end

  # GET /projetos/1
  # GET /projetos/1.xml
  def show
    @projeto = Projeto.find(params[:id])

    respond_to do |format|
      format.html # show.html.erb
      format.xml  { render :xml => @projeto }
    end
  end

  # GET /projetos/new
  # GET /projetos/new.xml
  def new
    @projeto = Projeto.new    
    respond_to do |format|
      format.html # new.html.erb
      format.xml  { render :xml => @projeto }      
    end
  end

  # GET /projetos/1/edit
  def edit
    @projeto = Projeto.find(params[:id])
    @tag1 = @projeto.tags[0]
    @tag2 = @projeto.tags[1]
    @tag3 = @projeto.tags[2]
  end

  # POST /projetos
  # POST /projetos.xml
  def create
    @projeto = Projeto.new(params[:projeto])
    
    @tag1 = (Tag.find_by_nome(params[:tag_names][:name1]) || Tag.new(:nome => params[:tag_names][:name1])) unless params[:tag_names][:name1].to_s == ""
    @tag2 = (Tag.find_by_nome(params[:tag_names][:name2]) || Tag.new(:nome => params[:tag_names][:name2])) unless params[:tag_names][:name2].to_s == ""
    @tag3 = (Tag.find_by_nome(params[:tag_names][:name3]) || Tag.new(:nome => params[:tag_names][:name3])) unless params[:tag_names][:name3].to_s == ""    
    
    if !@tag1.nil?
      
      @projeto.add_tag(@tag1)
    end
      
    if !@tag2.nil?
      
      @projeto.add_tag(@tag2)
    end
      
    if !@tag3.nil?
      
      @projeto.add_tag(@tag3)    
    end 
    
    respond_to do |format|
      if @projeto.save
        flash[:notice] = 'Projeto was successfully created.'
        format.html { redirect_to(@projeto) }
        format.xml  { render :xml => @projeto, :status => :created, :location => @projeto }
      else
        format.html { render :action => "new" }
        format.xml  { render :xml => @projeto.errors, :status => :unprocessable_entity }
      end
    end
  end

  # PUT /projetos/1
  # PUT /projetos/1.xml
  def update
    @projeto = Projeto.find(params[:id])
    @projeto.tags[0].nome = params[:tag1][:nome]

    respond_to do |format|
      if @projeto.update_attributes(params[:projeto])
        flash[:notice] = 'Projeto was successfully updated.'
        format.html { redirect_to(@projeto) }
        format.xml  { head :ok }
      else
        format.html { render :action => "edit" }
        format.xml  { render :xml => @projeto.errors, :status => :unprocessable_entity }
      end
    end
  end

  # DELETE /projetos/1
  # DELETE /projetos/1.xml
  def destroy
    @projeto = Projeto.find(params[:id])
    @projeto.destroy

    respond_to do |format|
      format.html { redirect_to(projetos_url) }
      format.xml  { head :ok }
    end
  end
end
